SynpickVP Dataset¶

In [2]:
from SynpickVP import SynpickVP
import visualizations as visualizations
In [3]:
import torch
from matplotlib import pyplot as plt
In [4]:
%load_ext autoreload
%autoreload 2

Instanciating Dataset Splits¶

We instanciate the training, validation and test datasets.

Keep in mind that validation and test always have num_frames = 50 for consistency and reproducibility

In [5]:
train_db = SynpickVP(
        split="train",
        num_frames=10,
        seq_step=2,
        img_size=(136, 240),
    )

val_db = SynpickVP(
        split="val",
        num_frames=10,
        seq_step=2,
        img_size=(136, 240),
    )

test_db = SynpickVP(
        split="test",
        num_frames=10,
        seq_step=2,
        img_size=(136, 240),
    )
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████| 545957/545957 [00:04<00:00, 123332.49it/s]
SynpickVP test-sequences have 50 frames. Your num_frames = 10 will be overridden
100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████| 31293/31293 [00:00<00:00, 41141.71it/s]
SynpickVP test-sequences have 50 frames. Your num_frames = 10 will be overridden
100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████| 409568/409568 [00:10<00:00, 38877.34it/s]
In [6]:
num_seqs = len(train_db)
print(f"SynpickVP training set with seq_len={train_db.num_frames} has {num_seqs} sequences")

num_seqs = len(val_db)
print(f"SynpickVP validation set with seq_len={val_db.num_frames} has {num_seqs} sequences")

num_seqs = len(test_db)
print(f"SynpickVP test set with seq_len={test_db.num_frames} has {num_seqs} sequences")
SynpickVP training set with seq_len=10 has 42101 sequences
SynpickVP validation set with seq_len=50 has 121 sequences
SynpickVP test set with seq_len=50 has 1408 sequences

Visualizations¶

First Train Sequence¶

In [17]:
cur_data = train_db[0]
frames = cur_data["frames"]
maps = cur_data["segmentation"]
instances = cur_data["instance"]
(10, 135, 240)
(10, 135, 240)
In [18]:
_ = visualizations.visualize_sequence(frames, n_cols=5)
In [19]:
disp = visualizations.overlay_segmentations(
        frames=frames,
        segmentations=maps,
        colors=visualizations.COLORS,
        num_classes=train_db.NUM_CLASSES,
        alpha=0.5
    )
_ = visualizations.visualize_sequence(disp, n_cols=5)
In [20]:
disp = visualizations.overlay_instances(
        frames=frames,
        instances=instances,
        colors=visualizations.COLORS,
        alpha=0.5
    )
_ = visualizations.visualize_sequence(disp, n_cols=5)

First Test Sequence¶

In [90]:
cur_data = test_db[2]
frames = cur_data["frames"][:20]
maps = cur_data["segmentation"][:20]
instances = cur_data["instance"][:20]
In [91]:
_ = visualizations.visualize_sequence(frames, n_cols=10)
In [92]:
disp = visualizations.overlay_segmentations(
        frames=frames,
        segmentations=maps,
        colors=visualizations.COLORS,
        num_classes=train_db.NUM_CLASSES,
        alpha=0.5
    )
_ = visualizations.visualize_sequence(disp, n_cols=10)
In [93]:
disp = visualizations.overlay_instances(
        frames=frames,
        instances=instances,
        colors=visualizations.COLORS,
        alpha=0.7
    )
_ = visualizations.visualize_sequence(disp, n_cols=10)
Angel Villar-Corrales
  • Email: villar@ais.uni-bonn.de
  • Website: angelvillarcorrales.com